using System;
using System.ComponentModel;
using System.Runtime.Serialization;
using System.Collections.Generic;

namespace Dev.Net.Contracts
{
	[DataContract]
	public partial class Assembly
	{
		[DataMember]
    	public Int32 ID { get; set; }

		[DataMember]
    	public String AssemblyName { get; set; }

		[DataMember]
    	public Byte[] AssemblyContent { get; set; }

		[DataMember]
    	public Version AssemblyVersion { get; set; }

		[DataMember]
    	public List<Namespace> AssemblyNamespaces { get; set; }

	}
	
	[DataContract]
	public partial class Content
	{
		[DataMember]
    	public Int32 ID { get; set; }

		[DataMember]
    	public Byte Status { get; set; }

		[DataMember]
    	public Section ContentSection { get; set; }

	}
	
	[DataContract]
	public partial class Context
	{
		[DataMember]
    	public Int32 ID { get; set; }

		[DataMember]
    	public String Name { get; set; }

		[DataMember]
    	public ContextType ContextType { get; set; }

		[DataMember]
    	public Namespace ContextNamespace { get; set; }

		[DataMember]
    	public List<Section> ContextSections { get; set; }

	}
	
	[DataContract]
	public partial class ContextType
	{
		[DataMember]
    	public Int32 ID { get; set; }

		[DataMember]
    	public String Name { get; set; }

		[DataMember]
    	public List<Context> ContextTypeContexts { get; set; }

	}
	
	[DataContract]
	public partial class Namespace
	{
		[DataMember]
    	public Int32 ID { get; set; }

		[DataMember]
    	public String Name { get; set; }

		[DataMember]
    	public Assembly NamespaceAssembly { get; set; }

		[DataMember]
    	public List<Context> NamespaceContexts { get; set; }

	}
	
	[DataContract]
	public partial class Role
	{
		[DataMember]
    	public Int32 ID { get; set; }

		[DataMember]
    	public String RoleName { get; set; }

		[DataMember]
    	public List<UserRole> UserRoles { get; set; }

	}
	
	[DataContract]
	public partial class Section
	{
		[DataMember]
    	public Int32 ID { get; set; }

		[DataMember]
    	public String Name { get; set; }

		[DataMember]
    	public Context SectionContext { get; set; }

		[DataMember]
    	public List<Content> SectionContents { get; set; }

	}
	
	[DataContract]
	public partial class User
	{
		[DataMember]
    	public Int32 ID { get; set; }

		[DataMember]
    	public String FirstName { get; set; }

		[DataMember]
    	public String LastName { get; set; }

		[DataMember]
    	public String Email { get; set; }

		[DataMember]
    	public String Password { get; set; }

		[DataMember]
    	public List<UserRole> UserRoles { get; set; }

	}
	
	[DataContract]
	public partial class UserRole
	{
		[DataMember]
    	public Int32 ID { get; set; }

		[DataMember]
    	public Role Role { get; set; }

		[DataMember]
    	public User User { get; set; }

	}
	
	[DataContract]
	public partial class Version
	{
		[DataMember]
    	public Int32 ID { get; set; }

		[DataMember]
    	public Int32 Major { get; set; }

		[DataMember]
    	public Int32 Minor { get; set; }

		[DataMember]
    	public Int32 Build { get; set; }

		[DataMember]
    	public Int32 Revision { get; set; }

		[DataMember]
    	public List<Assembly> VersionAssemblies { get; set; }

	}
	
	
}

